#ifndef MENUOPTION_H_INCLUDED
#define MENUOPTION_H_INCLUDED

#include "SDL/SDL.h"
#include "Artist.h"

#include <vector>
#include <iostream>

class Image
{
    public:
        Image();
        ~Image();

        void set_x(int new_x);
        void set_y(int new_y);

        void initialize(Artist* artist, std::string filename="error.png", int x=0, int y=0);

        SDL_Rect get_bounds();

        void display(SDL_Surface* screen, bool flipped = false, int x_offset = 0, int y_offset = 0);

        void setImage(Artist& artist, std::string filename, bool flipme = false, bool magentaKey = false, bool semitransp = false);

        void frameSplice(int width, int height);

        void setStanding(bool flip);
        void setFrame(int);
        void incFrame();

        void rotateSprite(Artist& artist, Direction dir, bool rotate_flipped = false);

        void setSurface(SDL_Surface* newSurf);

    private:
        SDL_Rect bounds;
        SDL_Surface* surface;
        SDL_Surface* horiz_flipped_surface;

        std::vector<SDL_Rect> walkingFrames;

        int frame;

};

#endif // MENUOPTION_H_INCLUDED
